Skip to content

[Fix] - 워치 앱 INFOPLIST 충돌 해결로 시뮬레이터 빌드 정상화#299

Merged
thingineeer merged 1 commit intodevelopfrom
fix/v2.5.0-watch-info-plist-build
Apr 25, 2026
Merged

[Fix] - 워치 앱 INFOPLIST 충돌 해결로 시뮬레이터 빌드 정상화#299
thingineeer merged 1 commit intodevelopfrom
fix/v2.5.0-watch-info-plist-build

Conversation

@thingineeer
Copy link
Copy Markdown
Collaborator

@thingineeer thingineeer commented Apr 25, 2026

🌱 작업한 내용

  • Xcode 26의 fileSystemSynchronizedGroupsRNWatch Watch App/Info.plist 를 자동으로 빌드 단계에 포함 → INFOPLIST_FILE 처리와 충돌(Multiple commands produce) 로 simulator Debug 빌드 실패하던 문제 해결
  • GENERATE_INFOPLIST_FILE = YES 로 전환 + Info.plist 파일 자체 삭제
  • plist 키들을 build setting INFOPLIST_KEY_* 로 마이그레이션 (Health 2종 + UIUserInterfaceStyle + WKApplication + WKCompanionAppBundleIdentifier)
  • PBXFileSystemSynchronizedBuildFileExceptionSet 섹션 + root group exceptions 참조 제거 (이제 불필요)

🌱 PR Point

  • 기존 archive 빌드(fastlane release/beta)는 watchOS device SDK 사용이라 충돌 안 발생 → v2.5.0 TestFlight 빌드는 정상이었으나 일반 개발 중 simulator Debug 빌드는 막혀 있던 상태
  • Apple 권장 방식인 modern Xcode INFOPLIST 관리(GENERATE_INFOPLIST_FILE = YES + INFOPLIST_KEY_*) 로 전환

성과 기록

항목 Before After
xcodebuild Debug build (iOS Simulator) ❌ Multiple commands produce BUILD SUCCEEDED
Multiple commands 충돌 1건 0건
error 카운트 1+ 0
워치 앱 빌드 + ValidateEmbeddedBinary

추가된 INFOPLIST_KEY_*

INFOPLIST_KEY_NSHealthShareUsageDescription
INFOPLIST_KEY_NSHealthUpdateUsageDescription
INFOPLIST_KEY_UIUserInterfaceStyle = Dark
INFOPLIST_KEY_WKApplication = YES
INFOPLIST_KEY_WKCompanionAppBundleIdentifier

Summary by CodeRabbit

  • Chores
    • Streamlined Watch app configuration by enabling automatic build-time generation of app settings instead of manual management.
    • Updated Health app integration descriptions for the Watch app.
    • Refined Watch app interface styling and bundle linkage configuration for improved compatibility.

- Xcode 26의 fileSystemSynchronizedGroups가 RNWatch/Info.plist를 자동 빌드 단계에 포함시켜 INFOPLIST_FILE 처리와 Multiple commands produce 충돌 발생하던 문제 해결
- GENERATE_INFOPLIST_FILE = YES로 전환하고 RNWatch Watch App/Info.plist 파일 삭제
- 모든 plist 키를 build setting INFOPLIST_KEY_*로 마이그레이션 (Health/UI/WK 5종)
- PBXFileSystemSynchronizedBuildFileExceptionSet 섹션 + root group exceptions 참조 제거
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 25, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 53d400c9-b30c-4edb-ab6c-966447d79e4c

📥 Commits

Reviewing files that changed from the base of the PR and between 3b04522 and 4cce9e1.

📒 Files selected for processing (2)
  • Runnect-iOS/RNWatch Watch App/Info.plist
  • Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj

📝 Walkthrough

Walkthrough

The watchOS app's manually managed Info.plist file was deleted, and the build configuration was updated to automatically generate the Info.plist file instead. Health permission descriptions and watchOS-specific keys were migrated into the Xcode project configuration.

Changes

Cohort / File(s) Summary
Info.plist Deletion
Runnect-iOS/RNWatch Watch App/Info.plist
File completely removed; contained bundle identifiers, versioning, HealthKit permissions, and dark UI style configuration.
Build Configuration Update
Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj
Removed manual Info.plist reference from Watch App target; enabled auto-generation of Info.plist (GENERATE_INFOPLIST_FILE = YES) for both Debug and Release configurations; added Health sharing/updating usage descriptions and WatchKit companion bundle identifier mappings.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A plist file takes its final bow,
Auto-generation takes the vow,
Config files dance in project light,
Watch app setup shines so bright! ⌚✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/v2.5.0-watch-info-plist-build

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@thingineeer thingineeer merged commit ca59d8b into develop Apr 25, 2026
1 check passed
@thingineeer thingineeer deleted the fix/v2.5.0-watch-info-plist-build branch April 25, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant